package common

import (
	"fmt"
	"math/rand"
)

type ExtraData struct {
	ExtraId   int64
	ExtraName string
}

// GenerateRandomNumber 生成一个在 [min, max] 区间内的随机整数
// min: 随机数的下界（包含）
// max: 随机数的上界（包含）
// 返回值: 生成的随机整数。如果输入不合法（max < min），则返回 0。
func GenerateRandomNumber(min, max int) int {
	// 检查输入的合法性
	if max < min {
		fmt.Println("警告：max 必须大于或等于 min")
		return 0
	}

	// 核心算法：
	// 1. rand.Intn(max - min + 1) 生成 [0, max-min] 范围内的随机数。
	//    +1 是为了让上界也能被包含进来。例如，当 max=5, min=3 时，max-min+1=3，
	//    rand.Intn(3) 会生成 0, 1, 2。
	// 2. 加上 min，将生成的范围从 [0, max-min] 平移到 [min, max]。
	return rand.Intn(max-min+1) + min
}
